It is often desirable to provide a user with an image having portions that appear to be transparent. Microsoft Windows, a product of the Microsoft Corporation of Redmond, Wash., includes graphics device interface (GDI) application program interfaces (APIs) that lack some basic transparency supports. For example, the APIs offer no support for opacity in a brush, which is the graphics tool that applications use to paint the interiors of various shapes. In order to overcome this deficiency, applications such as Microsoft Office XP, Microsoft Office 2003, and Microsoft GDI+ simulate the transparency effects by using a combination of read only printer codes (ROPs) when printing to a printer.
While these simulations may appear to accurately portray a transparency effect in a single on-screen view, they often lose the desired appearance in zoomed views. Furthermore, the simulations are not device-independent and therefore often cannot be printed as rendered for viewing by a user.
More efficient techniques have been formulated for creating transparency effects. However, these techniques are not currently universally implemented and many existing applications continue to use the transparency simulations described above that cannot be consistently accurately rendered. Accordingly, it is necessary to detect whether a transparency has been simulated in order to subsequently correct the simulation with a transparency effect that will be efficiently replicated in multiple views and by multiple printers or other output devices.
Accordingly, a solution is needed for detecting simulation effects in a printer or display driver. The detection of the simulation effects will enable correction in order to prevent inaccurate rendering of transparency effects.